home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 5 / Amiga Tools 5.iso / grafik / 3d & render tools / irit / contrib / cagd / interp / interp.irt < prev   
Encoding:
Text File  |  1996-07-16  |  2.3 KB  |  91 lines

  1. #
  2. # Interpolation of curves using piecewise polynomials.
  3. #                Gershon Elber, November 1995.
  4. #
  5.  
  6. view_mat = scale( vector( 0.8, 0.8, 0.8 ) );
  7. viewobj( view_mat );
  8.  
  9. viewstate( "FinrAprx" );
  10. viewstate( "FinrAprx" );
  11. viewstate( "WiderLns" );
  12. viewstate( "WiderLns" );
  13.  
  14. Pl =  list( point( -1.0, 0, 0 ),
  15.         point(  0.0, 1, 0 ),
  16.         point(  1.0, 0, 0 ) );
  17. Crv = cinterp( Pl, 3, 3, PARAM_UNIFORM );
  18. color( Pl, green );
  19. color( Crv, yellow );
  20. interact( list( Pl, Crv ) );
  21.  
  22. Pl =  list( point( -1.0, 0, 0 ),
  23.         point( -0.5, 0, 0 ),
  24.         point(  0.0, 1, 0 ),
  25.         point(  0.5, 0, 0 ),
  26.         point(  1.0, 0, 0 ) );
  27. Crv = cinterp( Pl, 5, 5, PARAM_UNIFORM );
  28. color( Pl, green );
  29. color( Crv, yellow );
  30. interact( list( Pl, Crv ) );
  31.  
  32. Pl =  list( point( -1.0,  0, 0 ),
  33.         point( -0.66, 0, 0 ),
  34.         point( -0.33, 0, 0 ),
  35.         point(  0.0,  1, 0 ),
  36.         point(  0.33, 0, 0 ),
  37.         point(  0.66, 0, 0 ),
  38.         point(  1.0,  0, 0 ) );
  39. Crv = cinterp( Pl, 7, 7, PARAM_UNIFORM );
  40. color( Pl, green );
  41. color( Crv, yellow );
  42. interact( list( Pl, Crv ) );
  43.  
  44. Pl =  list( point( -1.0,  0, 0 ),
  45.         point( -0.75, 0, 0 ),
  46.         point( -0.5,  0, 0 ),
  47.         point( -0.25, 0, 0 ),
  48.         point(  0.0,  1, 0 ),
  49.         point(  0.25, 0, 0 ),
  50.         point(  0.5,  0, 0 ),
  51.         point(  0.75, 0, 0 ),
  52.         point(  1.0,  0, 0 ) );
  53. Crv = cinterp( Pl, 9, 9, PARAM_UNIFORM );
  54. color( Pl, green );
  55. color( Crv, yellow );
  56. interact( list( Pl, Crv ) );
  57.  
  58. Pl =  list( point( -1.0, 0, 0 ),
  59.         point( -0.8, 0, 0 ),
  60.         point( -0.6, 0, 0 ),
  61.         point( -0.4, 0, 0 ),
  62.         point( -0.2, 0, 0 ),
  63.         point(  0.0, 1, 0 ),
  64.         point(  0.2, 0, 0 ),
  65.         point(  0.4, 0, 0 ),
  66.         point(  0.6, 0, 0 ),
  67.         point(  0.8, 0, 0 ),
  68.         point(  1.0, 0, 0 ) );
  69. Crv = cinterp( Pl, 11, 11, PARAM_UNIFORM );
  70. color( Pl, green );
  71. color( Crv, yellow );
  72. interact( list( Pl, Crv ) );
  73.  
  74. for ( a = 0.0, 0.02, 1.0,
  75.      Pl = list( point( -1.0, 0, 0 ),
  76.             point( -0.8, 0, 0 ),
  77.             point( -0.6, 0, 0 ),
  78.             point( -0.4, 0, 0 ),
  79.             point( -0.2, 0, 0 ),
  80.             point(  0.0, a, 0 ),
  81.             point(  0.2, 0, 0 ),
  82.             point(  0.4, 0, 0 ),
  83.             point(  0.6, 0, 0 ),
  84.             point(  0.8, 0, 0 ),
  85.             point(  1.0, 0, 0 ) ):
  86.      Crv = cinterp( Pl, 11, 11, PARAM_UNIFORM ):
  87.      color( Pl, green ):
  88.      color( Crv, yellow ):
  89.      view( list( Pl, Crv ), on ) );
  90.